/**
 * @description helper fns
 * @author snake
 */

// 定义插入选项
export const items = [
  {
    label: '试用期工资',
    value: '${salary}'
  },
  {
    label: '部门',
    value: '${department}'
  },
  {
    label: '合同期限',
    value: '${contractTerm}'
  },
  {
    label: '职位',
    value: '${position}'
  },
  {
    label: '试用期长度',
    value: '${longTime}'
  },
  {
    label: '基本工资',
    value: '${basicSalary}'
  },
  {
    label: '工作地点',
    value: '${workPlace}'
  },
  {
    label: 'offer失效时间',
    value: '${time}'
  },
  {
    label: '姓名',
    value: '${name}'
  },
  {
    label: '入职地点',
    value: '入职地点'
  },
  {
    label: '入职日期',
    value: '入职日期'
  },
  {
    label: '职级',
    value: '职级'
  },
  {
    label: '公司名称',
    value: '公司名称'
  },
  {
    label: '公司规模',
    value: '公司规模'
  },
  {
    label: '福利',
    value: '福利'
  },
  {
    label: '主管',
    value: '主管'
  },
  {
    label: '奖金',
    value: '奖金'
  }
]

/**
 * inserPlaceholder 插入placeholder元素方法
 * @param {*} editor 
 * @param {*} value 
 * @param {*} placeholder 
 */
export function inserPlaceholder(editor, value, placeholder) {
  // 1: 开头插入空格
  editor.restoreSelection()

  // 2：定义节点
  const node = {
    type: 'placeholder',
    string: value,
    placeholder,
    children: [{ text: '' }]
  }

  // 3：插入节点
  Promise.resolve().then(() => {
    // Transforms.insertNodes(editor, node) 使用该Api 会出现插入位置错误bug;
    // 插入 node
    editor.insertNode(node)

    // 向后插入空节点 && 移动光标
    editor.insertFragment([{ text: ' ' }])
    editor.move(1)
  })
}
